#!/bin/bash
SCRIPT_HOME=$(cd "$(dirname "$0")"; pwd)
source "$SCRIPT_HOME/common_lib.sh"

CONFIG_DIR="$SCRIPT_HOME/../configs"
ISO_ROOT="$SCRIPT_HOME/../"

# 定义本次生成的配置文件名称（演示文件名不固定）
OUTPUT_FILE_NAME="global_iso_config.json"
OUTPUT_FILE="$CONFIG_DIR/$OUTPUT_FILE_NAME"

log_info "准备生成汇总配置..."

# 1. 确保 configs 目录下有且仅有一个 json 文件，先清理旧的
rm -f "$CONFIG_DIR"/*.json

# 初始化JSON结构
echo '{"modules": []}' > "$OUTPUT_FILE"

# 查找所有 ztzh_module.json (排除 configs 目录本身，防止递归)
find "$ISO_ROOT" -name "ztzh_module.json" -not -path "*/configs/*" | while read json_file; do
    log_info "发现模块配置: $json_file"
    # 读取内容
    content=$(cat "$json_file")
    
    # 使用 jq 将新内容追加到 modules 数组中
    # 使用临时文件防止读写冲突
    jq --argjson new "$content" '.modules += [$new]' "$OUTPUT_FILE" > "${OUTPUT_FILE}.tmp" && mv "${OUTPUT_FILE}.tmp" "$OUTPUT_FILE"
done

log_info "汇总完成，配置文件路径: $OUTPUT_FILE"
# 格式化输出
jq '.' "$OUTPUT_FILE" > "${OUTPUT_FILE}.tmp" && mv "${OUTPUT_FILE}.tmp" "$OUTPUT_FILE"
